package com.pinxixi.api.specification;

import com.pinxixi.framework.domain.specification.Specification;
import com.pinxixi.framework.domain.specification.SpecificationOption;
import com.pinxixi.framework.domain.specification.ext.SpecificationEntity;
import com.pinxixi.framework.model.response.ListResponseResult;
import com.pinxixi.framework.model.response.QueryResponseResult;
import com.pinxixi.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api(value="规格微服务API",description = "规格微服务CRUD")
public interface SpecificationControllerApi {

    @ApiOperation("规格列表接口")
    ListResponseResult<Specification> findAll();

    @ApiOperation("规格分页接口")
    ListResponseResult<Specification> findPage(Integer page, Integer size, Specification specification);

    @ApiOperation("规格查询接口")
    QueryResponseResult<SpecificationEntity> findOne(Integer id);

    @ApiOperation("规格添加、修改接口")
    ResponseResult save(SpecificationEntity entity);

    @ApiOperation("规格删除接口")
    ResponseResult delete(Integer id);

    @ApiOperation("规格批量删除接口")
    ResponseResult deleteAll(Integer[] ids);

    @ApiOperation("规格参数查询接口")
    ListResponseResult<SpecificationOption> findOptionsBySpecId(Integer id);

}
